# -*- encoding:utf-8 -*-
# @time:2023-02-08 0:24
# @Author : serein
# @Email: serein@qq.com
# @File:verifyCode.py
# @Software: PyCharm

from django_redis import get_redis_connection

#重写jwt_token，因为obtain_jwt_token只能验证账号密码的正确性，所以需要重写一个让他验证验证码的功能
from rest_framework import status

from config.dbs.redis_rev import LOGIN_KEY_TEMPLATE1


def jwt_token(token,user=None,request=None):
    '''
    自定义登陆成功后的响应函数，登陆后的数据处理函数
    执行这个函数，账号和密码肯定是正确有效的了，手动校验验证码即可
    @param token:令牌
    @param user:用户名
    @param request:请求对象
    @return:登入接口相应内容
    '''
    #前端数据
    # parm = request.data
    # print(parm)
    # user_code = parm['code']
    # #创建连接池
    # cache = get_redis_connection(alias='verify_code1')
    # redis_code = cache.get(LOGIN_KEY_TEMPLATE1 % 1)
    # # 试完即删防止暴力拆解
    # cache.delete(LOGIN_KEY_TEMPLATE1 % 1)
    # if not user_code:
    #     return {
    #         'status': status.HTTP_404_NOT_FOUND,
    #         'msg': '请输入验证码'
    #     }
    # if user_code == redis_code:
    #     cache.delete('code')
    #     return {
    #         'status': status.HTTP_200_OK,
    #         'token': token,
    #         'id': user.id,
    #         'username': user.username,
    #     }
    # else:
    #     return {
    #         'status': status.HTTP_422_UNPROCESSABLE_ENTITY,
    #         'msg': '验证码不正确,请重新输入！'
    #     }

    return {
        'status': status.HTTP_200_OK,
        'token': token,
        'id': user.id,
        'username': user.username,
    }